خرید بک لینک
سلام و خسته نباشید به دوستان عزیز
به این وبسایت ی سربزنید.
http://www.zncms.ir
نظرتون در مورد ui این وبسایت چیه؟
چ ایراداتی داره ؟
تو دید اول چ چیزی رو متوجه میشین؟
ممنون

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 29 اسفند 1394 ساعت: 1:01

سلام و خسته نباشید
ابتدا عذر خواهی میکنم در مورد سوالات زیادی که این چن روزا میپرسم.
تا به حال به سایت های معروف ایران رفتین :
Digikala.com
aparat.com
Blogfa.com
و...
همونطور که میدونیم این سایت ها ابتدا ی سایت معمولی بودن ولی الآن دیگه واسه خودشون ی برند شدن.
الآن هرجا که بری دی جی کالا رو میشناسن و میدونن زمینه ی کاریش چیه.
به هرکس میگی فیلم ، آپارارت رو معرفی میکنه و ....

حالا سوالاتی که من دارم:
چی شد که اینا واسه خودشون برند شدن و معروف شدن؟
از چ روش هایی برای این کارها استفاده کردن؟
از چ نوع تبلیغاتی برای این کار استفاده کردن؟
آیا ایمیل های تبلیغاتی فرستادن ؟

من میخوام اطلاعاتی در مورد برند سازی بدست بیارم و راه های تبلیغ ی سایت رو بدونم.
چطوری بازدید ی سایت رو بالا ببرم؟

الآن به این آدرس برید.
http://www.stonetown.ir/
این ی شهر مجازی تو صنعت سنگ هستش.
من میخوام این سایت رو به همه ی فعالان صنعت سنگ معرفی کنم.
از چ روش هایی برای این کار استفاده کنم؟
منتظر پیشنهاداتتون هستم
ممنون

برچسب: نویسنده: خنجی تاريخ: جمعه 28 اسفند 1394 ساعت: 17:51

سلام و خسته نباشید به دوستان عزیز
ی سوالی هستش که خیلی وقته دهنمو درگیر خودش کرده.
آیا شما تو پروژه هاتون هنگام ثبت نام رمز عبور کاربر رو مستقیم وارد دیتابیس میکنین یا با استفاده از الگوریتم های رمزنگاری اونارو تغییر میدین؟
خوب اگه هکر بخواد دیتابیس منو هک کنه راحت میتونه به پسوورد ها دسترسی داشته باشه و راحتم میتونه الگوریتم رمزنگاری رو حدث بزنه .
میشه تو این زمینه ی کوچولو راهنماییم کنین؟
اگه پیشنهادی دارین بگین.
ممنون

تشکر شده توسط:

رمز رو همیشه هش شده ذخیره کنید. هکر ممکنه بتونه حدس بزنه که فرضاً با SHA1 هش شدن (تازه این یه حدسه) ولی هیچوقت نمیتونه از روی هش به رمز واقعی کاربران دسترسی پیدا کنه. اون سایتی هم که هکر تونسته دیتابیسش رو بدست بیاره رو دیگه باهاش خداحافظی کنید. دیگه فرقی نمیکنه پسورد خام ذخیره کنید یا هش شده.

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: جمعه 28 اسفند 1394 ساعت: 6:51

سلام و خسته نباشید به دوستان عزیز
به این کد من ی نیگا بندازین

ini_set('session.save_path','path');session_start(  );session_regenerate_id();$_SESSION['hamid']='sad';
echo $_SESSION['hamid'];

این کد های من این ارور رو میده.

نقل قول:


Waing: Unknown: open(pathsess_e3ihjmmkso1p05tu65vfuvcev5, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Waing: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (path) in Unknown on line 0


من وقتی از تابع session_regenerate_id(); استفاده کردنی این ارور رو دارم.
از این تابع هم برای امنیت بیشتر استفاده میکنم.
آیا ب نظرتون نیاز به استفاده از تابع session_regenerate_id(); هستش؟
چیکار کنم که این ارور برطرف بشه
ممنون

تشکر شده توسط:

مسیر رو مطلق بدین. ضمناً استفاده از session_regenerate_id هم ضروری نیست. بنظرم میاد یکم زیادی توی بحث امنیت سشن حساسیت بخرج میدین.

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: جمعه 28 اسفند 1394 ساعت: 6:51

Question
سلام دوستان
من اخیرا ابونتو نصب کردم لمپ و نصب کردم و الان باهاش مشکل دارم ( فکر کنم نمی تونم به دیتا بیس وصل شم )

1 . mysql و phpmyadmin نصب هستند :

[عکس: Selection_005.png]

2 . phpInfo هم گرفتم :

[عکس: Selection_006.png]

حالا یه فایل ایندکس درست کردم و این کدا رو توش نوشتم و تستش کردم :

<?php
//phpinfo();

$serveame = "localhost";
$useame = "root";
$password = "3cret";

// Create coection
$co = new mysql($serveame, $useame, $password);

// Check coection
if ($co->coect_error) {
   die("Coection failed: " . $co->coect_error);
} 
echo "Coected successfully";

?>

نتیجش شد این : Huh

[عکس: Selection_008.png]

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: جمعه 28 اسفند 1394 ساعت: 6:51

سلام .
مسلما همتون بخش >> همه نوشته ها - در سیستم مدیریت محتوای وردپرس رفتید .
در اون قسمت تمام پست ها یک وبسایت با یک سری مشخصات قرار دارن و برای ویرایش و حذف هستن .
یک دکمه checkbox هم در header هست که وقتی اون چک باکس رو کلیک میکنه تمام پست های چک باکسشون فعال میشه .

یعنی انتخاب همه پست ها یکجا با زدن یک checkbox .

منم همه چیو ردیف کردم . مشکلم اینه که میخوام وقتی رویه یکی از این چک باکس ها کلیکی میشه بقیه اتوماتیک انتخاب بشن . چه کار کنم؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: سه شنبه 25 اسفند 1394 ساعت: 16:00

سلام.

من با استفاده از کتابخانه nusoap یه کلاینت,سرور ساده نوشتم اما مشکل اینه که توی تابع وقتی یک آرایه رو retu میکنم کار نمیکنه.

soap server:

<?php
require_once('lib/nusoap.php'); 

$server = new nusoap_server;

$server->configureWSDL('server', 'u:server');

$server->wsdl->schemaTargetNamespace = 'u:server';

$server->wsdl->addComplexType(
   'ListArray',
   'complexType',
   'struct',
   'all',
   '',
   array(
 
   )
);

$server->register('hello',
array('name' => 'xsd:string'),  
array('retu' => 'tns:ListArray'),  
'u:server',  
'u:server#helloServer', 
'rpc', 
'encoded', 
'Just say hello');
function hello() {
$name= array("ali","nima");

retu $name;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';

$server->service($HTTP_RAW_POST_DATA);

?>

soap client:
<?php 
require_once('lib/nusoap.php');

$wsdl = "http://127.0.0.1/soap/index.php?wsdl";
$client = new nusoap_client($wsdl, 'wsdl');

$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2>' . $err;
       exit();
}

$result1=$client->call('hello');
print_r($result1); 

?>

الان وقتی کلاینت رو اجرا میکنم هیچی توی خروجی چاپ نمیشه.

-------------------------------------

با قرار دادن array به جای struct در خط 13 مشکل حل شد.

برچسب: نویسنده: خنجی تاريخ: سه شنبه 25 اسفند 1394 ساعت: 6:51

سادگی :
ما نمی توانیم به کاربران بگوییم PHP ساده تر است یا زبان های تکنولوژی ASP.NET مثل C# , VB برای پی بردن به این موضوع کاربر باید با دیدن مثال های مشابه از هر دو مورد و مطالعه مقدماتی به این نتیجه برسد که درک و فهم کدام یک برای وی آسانتر است.
نکته :
به عنوان یک معلم همیشه دانش آموزانم با تگ های زبان HTML و PHP در نهایت ترکیب این دو مشکل پیدا می کنند و بالعکس درک زبان #C برای آنها به مراتب ساده تر است.
با یک مثال ادامه می دهیم :
کدهای زیر مربوط به تعریف یک متغیر، مقدار دادن به آن و چاپ در خروجی می باشد :
[عکس: asp-vs-php.jpg]
تقریبا" تمامیه کاربران آماتور با علائم ، $ ، [] ، {} ، () ، -> مشکل دارند ، نمی خواهم بگویم در زبان #C این علائم وجود ندارند لکن در مقایسه ، زبان PHP دارای پیچیدگی های نوشتاری بسیار زیادتری می باشد.

برخی از PHP کاران و حتی مولفان معتقدند شباهت PHP به زبان C و ++C یادگیری آن را ساده تر کرده است من این جمله رو بدین شکل کامل می کنم :
" شباهت PHP به زبان C و ++C یادگیری آن را ساده تر کرده است ، اما شباهت زبان #C به زبان های C و ++C بیشتر از PHP می باشد! "


نتیجه : در مبحث سادگی پیروز میدان، زبان های تکنولوژی ASP.NET می باشند.

محیط توسعه یا IDE :
تعداد IDE های زبان PHP بیشتر از ASP.NET می باشد که از مهمترین آنها می توان به phpStorm , NetBeans , ZendStudio اشاره کرد.
ولی کدامیک می تواند با IDE تکنولوژی ASP.NET که VisualStudio می باشد رقابت کند؟!
پاسخ مشخص هست : هیچکدام.
می توانید آنها را در سیستم خود نصب و مقایسه کنید تا متوجه این موضوع شوید.
نتیجه : درست هست که تعداد IDE های زبان PHP بیشتر از ASP.NET می باشند اما هیچکدام به اندازه VisualStudio کامل نیستند.



کامپایل یا تفسیر:
PHP کاران معتقدند به خاطر تفسیری بودن PHP (اجرای کدها به صورت خط به خط و نه یکباره) سرعت اجراء از کامپایلرهای ASP.NET بیشتر است.
این حالت درست است اما تنها زمانی که پروژه پس از اجراء دارای هیچ خطایی نباشد!
یک سوال؟چقدر احتمال دارد پروژه نوشته شده بدون هیچگونه خطایی اجراء شود؟
تقریبا" احتمال آن صفر است ، هموار خطایی ناپیدا وجود دارد.
زمانی که یک PHP کار برای برطرف کردن خطاهای پروژه بعد از اجراء قرار می دهد اگر از زمان کامپایل IDE های ASP.NET بیشتر نباشد کمتر نیست.
البته کاربرانی که دات نت کار می کنند باید دارای سیستمی با سخت افزاری قوی جهت نصب و اجرای VisualStudio و بانک اطلاعاتی SqlServer باشند در صورتی که PHP با حداقل های سخت افزاری و IDE های سبکتر دارای سرعت بالایی در اجراء می باشد.
نتیجه : با توجه به تمام توضیحات باید قبول کرد PHP دارای سرعت بالاتری می باشد.



امنیت
این موضوع ارتباط مستقیم با دانش برنامه نویس و رعایت اصول روش های کدنویسی در این رابطه دارد ، تنها موردی که می توان به آن اشاره کرد این هست که در دات نت یک سری الگوریتم های آماده شده وجود دارند که در پشت پرده از سایت شما محافظت می کنند و این از هک شدن سایت های برنامه نویسان آماتور تا اندازه ای جلوگیری می کند.



هزینه ها
در گذشته فضاهای میزبانی (هاست) ویندوز نسبت به لینوکس گرانتر بود اما در حال حاضر قیمت ها تقریبا" برابری می کنند.
اگر مسئله کپی رایت را در نظر نگیریم هزینه استفاده از برنامه های مایکروسافت برای دات نت تقریبا" رایگان هست ، گذشته از این می توان از نسخه های رایگان استفاده کرد ولی نسخه های رایگان دارای محدودیت استفاده از امکانات هستند و پاسخگوی پروژه های بزرگ نیستند.
نتیجه : در این مبحث پیروز میدان PHP می باشد ، هزینه های هاستینگ ارزان تر و برنامه های رایگان بدون محدودیت جهت کدنویسی و اجراء پروژه ها نسبت به تکنولوژی ASP.NET از مزایای غیرقابل چشم پوشی می باشد ، همچنین اگر زمانی قوانین کپی رایت در کشور اعمال شوند استفاده از دات نت گرانتر خواهد بود.



سیستم های مدیریت محتوا (CMS)
مهم ترین CMS تکنولوژیASP.NET دات نت نیوک می باشد که از نظر گستردگی ، افزونه ها و منابع پشتیبانی با فاصله زیادی نسبت به CMS های زبان PHP همچون جوملا، وردپرس، دروپال و ... عقب می باشد.



بازار کار
در ایران خصوصا" برای برنامه نویسان ، کار آشفته بازاری بیش نیست (به جزء تهران)، به گفته اخبار داخلی دومین حرفه از نظر تعداد بیکاری در کشور می باشد، اصلا" هیچ زمینه استانداردی وجود ندارد که بخواهیم بنشینیم و در مورد بهتر یا بدتر بودن PHP و ASP.NET در زمینه استخدام صحبت کنیم.
اکثریت شرکت های برنامه نویسی امور دیگری از قبیل شبکه ، مخابرات ، و ... را نیز انجام می دهند تا بتوانند از پس مخارج خود برآیند ، اینکه صرفا" کسب و کاری تنها با عنوان برنامه نویسی راه اندازی شود از قبل شکست خورده است.
اگر به دنبال درآمد هستید راه های دیگری را طی کنید ، استثناء همیشه هست ولی اکثریت اساتید حال حاضر نیز به تبلیغات دوره های آموزشی و فروش محصولات خود روی آورده اند.
نکته:
برخی فکر می کنند برای اینکه دیگران وارد این گرایش نشوند بدین شکل صحبت می کنم یا افکاری از این قبیل...
خدمت این دوستان عارضم، این گوی و این میدان،تجربه ها را تجربه کنید ، ما را از ضرر و منفعت شما سودی نیست.



نتیجه گیری نهایی :
در این مقاله سعی کردم مهمترین موارد را ذکر کنم ، البته که بدون نقص نخواهد بود و در تکمیل آن کوتاهی نخواهم کرد.
انتخاب با شماست ، هیچکس نمی تواند بگوید کدام بهتر و یا کدام بدتر است ، هر دو قابلیت اجرای پروژه هایی با موضوعیت های مختلف را دارند ، هر دو قدرتمند و انعطاف پذیرند ، مهم این هست که پس از انتخاب بتوانید با علاقه ، تلاش مستمر و بروزرسانی اطلاعات خود به یک برنامه نویس حرفه ای با عمق زیاد تبدیل شوید.

پایان.
منبع

برچسب: نویسنده: خنجی تاريخ: سه شنبه 25 اسفند 1394 ساعت: 6:51

سلام دوستان
به چه صورتی می شود ماژول را به صورت چند زبانه استفاده کرد توی مستندات خود Yii توضیحاتی داده شده بود ولی هر کاری کردم نشد
البته بصورت کلی یعنی یک فایل برای ترجمه باشد کار می کند ولی من می خواهم هز ماژولی بصورت مستقل داخل خودش فایل ترجمه را داشته باشد
ممنون

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: سه شنبه 25 اسفند 1394 ساعت: 6:51

سلام دوستان
به چه صورتی می شود ماژول را به صورت چند زبانه استفاده کرد توی مستندات خود Yii توضیحاتی داده شده بود ولی هر کاری کردم نشد
البته بصورت کلی یعنی یک فایل برای ترجمه باشد کار می کند ولی من می خواهم هز ماژولی بصورت مستقل داخل خودش فایل ترجمه را داشته باشد
ممنون

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: يکشنبه 23 اسفند 1394 ساعت: 22:43

سادگی :
ما نمی توانیم به کاربران بگوییم PHP ساده تر است یا زبان های تکنولوژی ASP.NET مثل C# , VB برای پی بردن به این موضوع کاربر باید با دیدن مثال های مشابه از هر دو مورد و مطالعه مقدماتی به این نتیجه برسد که درک و فهم کدام یک برای وی آسانتر است.
نکته :
به عنوان یک معلم همیشه دانش آموزانم با تگ های زبان HTML و PHP در نهایت ترکیب این دو مشکل پیدا می کنند و بالعکس درک زبان #C برای آنها به مراتب ساده تر است.
با یک مثال ادامه می دهیم :
کدهای زیر مربوط به تعریف یک متغیر، مقدار دادن به آن و چاپ در خروجی می باشد :
[عکس: asp-vs-php.jpg]
تقریبا" تمامیه کاربران آماتور با علائم ، $ ، [] ، {} ، () ، -> مشکل دارند ، نمی خواهم بگویم در زبان #C این علائم وجود ندارند لکن در مقایسه ، زبان PHP دارای پیچیدگی های نوشتاری بسیار زیادتری می باشد.

برخی از PHP کاران و حتی مولفان معتقدند شباهت PHP به زبان C و ++C یادگیری آن را ساده تر کرده است من این جمله رو بدین شکل کامل می کنم :
" شباهت PHP به زبان C و ++C یادگیری آن را ساده تر کرده است ، اما شباهت زبان #C به زبان های C و ++C بیشتر از PHP می باشد! "


نتیجه : در مبحث سادگی پیروز میدان، زبان های تکنولوژی ASP.NET می باشند.

محیط توسعه یا IDE :
تعداد IDE های زبان PHP بیشتر از ASP.NET می باشد که از مهمترین آنها می توان به phpStorm , NetBeans , ZendStudio اشاره کرد.
ولی کدامیک می تواند با IDE تکنولوژی ASP.NET که VisualStudio می باشد رقابت کند؟!
پاسخ مشخص هست : هیچکدام.
می توانید آنها را در سیستم خود نصب و مقایسه کنید تا متوجه این موضوع شوید.
نتیجه : درست هست که تعداد IDE های زبان PHP بیشتر از ASP.NET می باشند اما هیچکدام به اندازه VisualStudio کامل نیستند.



کامپایل یا تفسیر:
PHP کاران معتقدند به خاطر تفسیری بودن PHP (اجرای کدها به صورت خط به خط و نه یکباره) سرعت اجراء از کامپایلرهای ASP.NET بیشتر است.
این حالت درست است اما تنها زمانی که پروژه پس از اجراء دارای هیچ خطایی نباشد!
یک سوال؟چقدر احتمال دارد پروژه نوشته شده بدون هیچگونه خطایی اجراء شود؟
تقریبا" احتمال آن صفر است ، هموار خطایی ناپیدا وجود دارد.
زمانی که یک PHP کار برای برطرف کردن خطاهای پروژه بعد از اجراء قرار می دهد اگر از زمان کامپایل IDE های ASP.NET بیشتر نباشد کمتر نیست.
البته کاربرانی که دات نت کار می کنند باید دارای سیستمی با سخت افزاری قوی جهت نصب و اجرای VisualStudio و بانک اطلاعاتی SqlServer باشند در صورتی که PHP با حداقل های سخت افزاری و IDE های سبکتر دارای سرعت بالایی در اجراء می باشد.
نتیجه : با توجه به تمام توضیحات باید قبول کرد PHP دارای سرعت بالاتری می باشد.



امنیت
این موضوع ارتباط مستقیم با دانش برنامه نویس و رعایت اصول روش های کدنویسی در این رابطه دارد ، تنها موردی که می توان به آن اشاره کرد این هست که در دات نت یک سری الگوریتم های آماده شده وجود دارند که در پشت پرده از سایت شما محافظت می کنند و این از هک شدن سایت های برنامه نویسان آماتور تا اندازه ای جلوگیری می کند.



هزینه ها
در گذشته فضاهای میزبانی (هاست) ویندوز نسبت به لینوکس گرانتر بود اما در حال حاضر قیمت ها تقریبا" برابری می کنند.
اگر مسئله کپی رایت را در نظر نگیریم هزینه استفاده از برنامه های مایکروسافت برای دات نت تقریبا" رایگان هست ، گذشته از این می توان از نسخه های رایگان استفاده کرد ولی نسخه های رایگان دارای محدودیت استفاده از امکانات هستند و پاسخگوی پروژه های بزرگ نیستند.
نتیجه : در این مبحث پیروز میدان PHP می باشد ، هزینه های هاستینگ ارزان تر و برنامه های رایگان بدون محدودیت جهت کدنویسی و اجراء پروژه ها نسبت به تکنولوژی ASP.NET از مزایای غیرقابل چشم پوشی می باشد ، همچنین اگر زمانی قوانین کپی رایت در کشور اعمال شوند استفاده از دات نت گرانتر خواهد بود.



سیستم های مدیریت محتوا (CMS)
مهم ترین CMS تکنولوژیASP.NET دات نت نیوک می باشد که از نظر گستردگی ، افزونه ها و منابع پشتیبانی با فاصله زیادی نسبت به CMS های زبان PHP همچون جوملا، وردپرس، دروپال و ... عقب می باشد.



بازار کار
در ایران خصوصا" برای برنامه نویسان ، کار آشفته بازاری بیش نیست (به جزء تهران)، به گفته اخبار داخلی دومین حرفه از نظر تعداد بیکاری در کشور می باشد، اصلا" هیچ زمینه استانداردی وجود ندارد که بخواهیم بنشینیم و در مورد بهتر یا بدتر بودن PHP و ASP.NET در زمینه استخدام صحبت کنیم.
اکثریت شرکت های برنامه نویسی امور دیگری از قبیل شبکه ، مخابرات ، و ... را نیز انجام می دهند تا بتوانند از پس مخارج خود برآیند ، اینکه صرفا" کسب و کاری تنها با عنوان برنامه نویسی راه اندازی شود از قبل شکست خورده است.
اگر به دنبال درآمد هستید راه های دیگری را طی کنید ، استثناء همیشه هست ولی اکثریت اساتید حال حاضر نیز به تبلیغات دوره های آموزشی و فروش محصولات خود روی آورده اند.
نکته:
برخی فکر می کنند برای اینکه دیگران وارد این گرایش نشوند بدین شکل صحبت می کنم یا افکاری از این قبیل...
خدمت این دوستان عارضم، این گوی و این میدان،تجربه ها را تجربه کنید ، ما را از ضرر و منفعت شما سودی نیست.



نتیجه گیری نهایی :
در این مقاله سعی کردم مهمترین موارد را ذکر کنم ، البته که بدون نقص نخواهد بود و در تکمیل آن کوتاهی نخواهم کرد.
انتخاب با شماست ، هیچکس نمی تواند بگوید کدام بهتر و یا کدام بدتر است ، هر دو قابلیت اجرای پروژه هایی با موضوعیت های مختلف را دارند ، هر دو قدرتمند و انعطاف پذیرند ، مهم این هست که پس از انتخاب بتوانید با علاقه ، تلاش مستمر و بروزرسانی اطلاعات خود به یک برنامه نویس حرفه ای با عمق زیاد تبدیل شوید.

پایان.
منبع

برچسب: نویسنده: خنجی تاريخ: يکشنبه 23 اسفند 1394 ساعت: 18:27

سلام.

همون طور که میدونید زمانی که از CActiveForm در view استفاده میشه برای نمایش پیغام خطا از :

<?php echo $form->error($model,'test'); ?>

استفاده میشه .

ولی من فرمم رو در view بصورت اختصاصی نوشتم یعنی از CActiveForm استفاده نکردم. حالا چطوری میتونم پیغام خطا در صورت خالی بودن فیلد رو نشون بدم؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 22:08

سلام

برای کپی یک فایل روی یک سرور دیگه از کد زیر استفاده میکنم ولی فایل کپی نمیشه

copy($attachment, "$archive/$filename")
$archive = "http://ip server/foldeame";

پیام خطا :

نقل قول:

Waing: copy(http://ip server/foldeame/filename.pdf): failed to open stream: HTTP wrapper does not support writeable coections

میشه بدون راه اندازی Ftp روی سرور ، این کار رو انجام داد ؟

تشکر شده توسط:

قاعدتاً بنا به دلایل امنیتی نباید بشه. اصلاً FTP رو واسه همین وقتها گذاشتن.

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 22:08

سلام.

من با استفاده از کتابخانه nusoap یه کلاینت,سرور ساده نوشتم اما مشکل اینه که توی تابع وقتی یک آرایه رو retu میکنم کار نمیکنه.

soap server:

<?php
require_once('lib/nusoap.php'); 

$server = new nusoap_server;

$server->configureWSDL('server', 'u:server');

$server->wsdl->schemaTargetNamespace = 'u:server';

$server->wsdl->addComplexType(
   'ListArray',
   'complexType',
   'struct',
   'all',
   '',
   array(
 
   )
);

$server->register('hello',
array('name' => 'xsd:string'),  
array('retu' => 'tns:ListArray'),  
'u:server',  
'u:server#helloServer', 
'rpc', 
'encoded', 
'Just say hello');
function hello() {
$name= array("ali","nima");

retu $name;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';

$server->service($HTTP_RAW_POST_DATA);

?>

soap client:
<?php 
require_once('lib/nusoap.php');

$wsdl = "http://127.0.0.1/soap/index.php?wsdl";
$client = new nusoap_client($wsdl, 'wsdl');

$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2>' . $err;
       exit();
}

$result1=$client->call('hello');
print_r($result1); 

?>

الان وقتی کلاینت رو اجرا میکنم هیچی توی خروجی چاپ نمیشه.

-------------------------------------

با قرار دادن array به جای struct در خط 13 مشکل حل شد.

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 22:08

سلام.

من با استفاده از کتابخانه nusoap یه کلاینت,سرور ساده نوشتم اما مشکل اینه که توی تابع وقتی یک آرایه رو retu میکنم کار نمیکنم.

soap server:

<?php
require_once('lib/nusoap.php'); 

$server = new nusoap_server;

$server->configureWSDL('server', 'u:server');

$server->wsdl->schemaTargetNamespace = 'u:server';

$server->wsdl->addComplexType(
   'ListArray',
   'complexType',
   'struct',
   'all',
   '',
   array(
 
   )
);

$server->register('hello',
array('name' => 'xsd:string'),  
array('retu' => 'tns:ListArray'),  
'u:server',  
'u:server#helloServer', 
'rpc', 
'encoded', 
'Just say hello');
function hello() {
$name= array("ali","nima");

retu $name;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';

$server->service($HTTP_RAW_POST_DATA);

?>

soap client:
<?php 
require_once('lib/nusoap.php');

$wsdl = "http://127.0.0.1/soap/index.php?wsdl";
$client = new nusoap_client($wsdl, 'wsdl');

$err = $client->getError();
if ($err) {
echo '<h2>Constructor error</h2>' . $err;
       exit();
}

$result1=$client->call('hello');
print_r($result1); 

?>

الان وقتی کلاینت رو اجرا میکنم هیچی توی خروجی چاپ نمیشه.

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 20:43

سلام.

من یک سایت نوشتم که ثبت نام چندین مرحله ای داره - مثل سایت سنجش.

توی هر مرحله یک فرم هست که باید فرد اطلاعات اون ها رو کامل کنه در نهایت به مرحله بعد میره و اونجا هم یک فرم دیگه هست که اطلاعات دیگه ای رو درخواست میکنه .من اطلاعات هر فرم روی توی session میریزم در نهایت که همه فرم ها رو پر کرد این session ها رو در دیتابیس ذخیره میکنم.

میخواسنم ببینم این کار اشکالی نداره یعنی زیاد شدن سیشن ها مشکلی رو بوجود نمیاره؟

راه بهتری هم هست؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 17:31

سلام.

همون طور که میدونید زمانی که از CActiveForm در view استفاده میشه برای نمایش پیغام خطا از :

<?php echo $form->error($model,'test'); ?>

استفاده میشه .

ولی من فرمم رو در view بصورت اختصاصی نوشتم یعنی از CActiveForm استفاده نکردم. حالا چطوری میتونم پیغام خطا در صورت خالی بودن فیلد رو نشون بدم؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 17:31

سلام

برای کپی یک فایل روی یک سرور دیگه از کد زیر استفاده میکنم ولی فایل کپی نمیشه

copy($attachment, "$archive/$filename")
$archive = "http://ip server/foldeame";

پیام خطا :

کد:

Waing: copy(http://ip server/foldeame/filename.pdf): failed to open stream: HTTP wrapper does not support writeable coections

میشه بدون راه اندازی Ftp روی سرور ، این کار رو انجام داد ؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 17:31

سلام

دوستان من ck editor دارم اما بعضی قسمتاش کار نمیکنه
مثلا گذاشتن عکس که انجام میدم
در قسمت پیش نمایش میخام عرض و ارتفاع عکس رو دست بزنم نمیشه ..و اصلا نمیشه عدد رو تغغیر داد

یا مثلا وقتی میزنم که جدول بسازه میگه چند در چند
من هرچی میخام تعداد سطر و ستون رو تغییر بدم نمیشه
چیکار کنم ؟

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 14:53

سلام بعضی از کاربرای سایتم اعلام کردن بعضی وقتا با خطای 400 و عدم تایید اطلاعات روبه رو میشن
رو سیستم خودم برسی کردم دیدم مشکلی نداره ولی رو سیستم یکی از بچه های گروه تست کردم دیدم درسته و بعضی وقتا خطای 400 ایجاد میشه
دقیق نمی دونم مشکل از کجاست ...باید تنضیمات خاصی رو کوکلی ولیدشن انجام بشه ؟
راهی ؟ نظری ؟

تشکر شده توسط:

بدون دیدن کد و اینکه خطا در چه شرایطی، توی چه اکشن خاصی انجام میشه نمیشه راهنمایی کرد.

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 13:15

سلام
فرض کنید یک جدول داریم که چهار ستون نام ,ساعت ورود و ساعت خروج و تاریخ می باشد
وبرای هر نفر در هر ماه 30الی150بار اطلاعات ثبت کرده ایم
حال من می خواهم
بصورت یک سطر نمایش بدهم
بصورت ذیل
نام تاریخ1 ساعت ورود وساعت خروج تاریخ 2 ساعت وردو ساعت خروج همینطورتاتاریخ30ام را بیاورد نمایش بدهد

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 6:43

چند وقت قبل مقاله ای در اینجا با همین مضمون و معنا خوندم که دیدم انتشارش خالی از لطف نیست. این شد که تصمیم گرفتم اون رو ترجمه کنم و در اختیار کسانی بگذارم که مثل خودم عاشق PHP هستن:


من خجالت نمیکشم از اینکه بگم واقعاً عاشق PHP هستم. وقتی که اولینبار برنامهنویسی رو در سال 2003 شروع کردم، اول با JavaScript آشنا شدم. با وجود اینکه جاوا اسکریپت سرگرمکنندهتر و دارای زرقوبرق بیشتری بود، من به محض اینکه با PHP آشنا شدم، عاشقش شدم. یکی از چیزهایی که من رو بیشتر از همه جذب کرد، این بود که چطور PHP خطاها رو (مثل خطاهای گرامری) مدیریت میکنه. با این قابلیت، من میتونستم PHP رو بدون کمک هیچ کسی یاد بگیرم، تمام کاری که باید انجام میدادیم این بود که هر پیغام خطایی که رخ میده رو مدیریت و درک کنم.

بدور از مقایسه PHP با هر زبان برنامهنویسی دیگری که اون هم پارامترهای کیفی و طرفداران خاص خودش رو داره و محترمه، قصد من اینه که نشون بدم دلایلی که PHP رو یک انتخاب عالی برای اکثر افراد دنیا میکنه و اون رو به پرکاربردترین ابزار توسعه وب کرده چیه؟

مدت زیادی مردم از PHP متنفر بودن، خیلیها بخاطر همین موضوع استفاده و یادگیری اون رو بخاطر این موضوع متوقف کرده بودن. اما با مقایسه PHP از 1995 تا الان، به یک ایمان قوی رسیدم که داره روزبروز عالیتر میشه و رشد میکنه. استفاده از اون امروزه مشابه ده سال قبل هست و فقط کمک میکنه که بیشتر رشد کنه. نگاهی به PHP7 امروزه بندازین.

مقایسه PHP با سایر زبانها، و حرفهای زیادی که درباره امنیت پایینش میزنن، بنظر من حتی ارزش جوابدادن رو هم نداره - تمام زبانهای دیگه هم از مشکلات مشابه رنج میبرن.

مثل هر زبان برنامهنویسی دیگه، PHP یک جعبهابزاره. قدرت و ضعف اون بستگی به کاربران (برنامهنویسان) اون داره.

برای اینکه بحث رو کوتاهکنیم، من دلایل خودم رو که توی وب باعث شدن من عاشق PHP بشم و فکر میکنم افراد دیگه هم با من موافق هستن، اینجا میارم:

  1. ساده برای یادگیری
    شروع به کار با PHP خیلی ساده و راحته. با قابلیت انواع پویای متغیر، یه کاربر جدید هیچ زجری نمیکشه. میتونید بهراحتی تگهای PHP رو با HTML و CSS و JavaScript ترکیب کنید تا یه چیزی داشته باشین که کار میکنه و این وقتی شما دارین یه چیز جدید یاد میگیرین، خیلی اهمیت داره. درکنار اون، نصب و تنظیمکردنش هم خیلی راحته، چه توی ویندوز و چه توی لینوکس. میتونید Apache و mod_php رو روی یه سرور Linux بندازین و در عرض چند دقیقه اجراش کنید، یا بهراحتی WAMP یا XAMPP رو توی ویندوز نصب کنید و شروع به کار کنید.
  2. خیلی انعطافپذیره
    شما میتونید بهراحتی PHP رو توی هر برنامهای استفاده کنید. برای مثال Wamp و EasyPHP و PHP Desktop و...
  3. بهخوبی مقیاسپذیری داره
    نیاز به درنظر گرفتن چیزهای زیادی ندارین. PHP با قابلیتهای توکار بسیار زیادی برای حل مشکلات مختلف مثل فایلها، دیتابیس، تصاویر، صوت و... عرضه میشه که به شما کمک میکنه تقریباً پروژههایی با هر اندازه رو بسازین. حتی توی قابلیتهایی که به سادگی بقیه زبانها نمیشه کارها رو انجام داد، باز هم همیشه یه راهی برای انجامش وجود داره.
  4. راههای با کیفیت عالی و متعدد برای مسائل مختلف در وب
    PHP مشکلات بسیار زیادی رو در وب حل میکنه و این چیزیه که باعث میشه باور کنم توی اکثر وبسایتها و وبسرورها مورد قبول واقع شده.
  5. تعداد زیاد فریمورکها
    از میکروفریمورکها گرفته تا فریمورکهای کامل، میتونید همهجور فریمورک برای انتخابکردن ببینید. این موضوع به کوچککردن مسائل و توسعه سریعتر پروژه کمک خیلی زیادی میکنه.
  6. محیطهای توسعه (IDE) عالی
    خوب این یکی دیگه از چیزهای رؤیایی توی دنیای PHP هست. میتونید از IDEهایی نظیر PhpStorm و SublimeText و NetBeans و ZendStudio و Notepad++ و... استفاده کنید.
  7. بدون کامپایل
    زمان انتظار صفر برای دیدن نتایج. PHP تفسیر میشه. بنابراین زمان رو برای کامپایل و اشکالزدایی قبل از اجرا تلف نمیکنید.
  8. زبان شناختهشده
    افراد بسیار زیادی وجود دارن که میتونید استخدام کنید. وقتی دنبال توسعهدهنده PHP هستین، مشکلی وجود نداره. تعداد بسیار زیادی از مردم وجود دارن که از بین اونها یکنفر رو انتخاب کنید.
  9. میلیونها شغل
    همهجور شغل برای کار در زمینه PHPوجود داره. از برنامههای ساده بگیرین تا فریمورکها و...
  10. جامعه کاربری عالی
    بدون شک PHP جامعه کاربری بسیار عظیمی داره. مهم نیست مشکل شما چیه چون همیشه یکی یه جایی هست که قبلاً اون رو تجربه کرده باشه یا بخواد به شما توی پیداکردن راهحل کمک کنه.
  11. پشتیبانی داخلی از دیتابیس
    PHP بطور داخلی از اغلب پایگاههای داده مثل MySQL و SQLite و Oracle و... پشتیبانی میکنه. معنای این حرف اینه که شروع به کار با دیتابیسها برای شما حتی اگه یه تازهکار باشین، راحته. واقعاً نیاز به نصب هیچ درایور اضافهای ندارین. حتی با کمک PhpMyAdmin میتونید با دیتابیس ازطریق یه رابط گرافیکی ارتباط برقرار کنید.
  12. پشتیبانی از برنامهنویسی رویهگرا، تابعگرا و شئگرا
    برترین روشهای برنامهنویسی پشتیبانی میشه.
  13. زبان قدیمی - از 1995
    سن یک عامل مهمه. PHP به بلوغ رسیده و خیلی بالغه. در طول زمان مشکلات زیادی رو دیده و پشتیبانی کرده و جامعه کاربری اون هم رشد کرده.
  14. هاست ارزان
    از اونجا که PHP مدت زیادی وجود داشته و بهخوبی توی ویندوز و لینوکس کار میکنه، روی وبسرورهای زیادی نصب شده. میتونید بهراحتی یه هاستینگ که PHP رو از قبل نصب کرده پیدا کنید.
  15. به افراد کمک میکنه قبضهاشون رو پرداخت کنن!
    شاید خندهدار بنظر برسه ولی افراد بیشماری وجود دارن در دنیا که زندگیشون رو با PHP میگذرونن. درنهایت، این موضوع چیز بدی نیست.

پاورقی:
به احتمال زیاد دلایل بیشتری برای عاشق PHP بودن یا دوستداشتنش وجود داره. و بعنوان یه توسعهدهنده نیاز به ایجاد تنوع و تغییر در خودمون برای بروز موندن توی بازار کار هستیم. بخاطر همین خیلی عالیه که یه نگاهی به سایر زبانهای برنامهنویسی مثل Go و Python و Perl و Ruby و C و C++ و... بندازین تا دستور زبانهای متفاوت رو یاد بگیریم و یه راه متفاوت برای استدلال داشته باشیم.

هر قابلیت دیگری در PHP که بنظرتون میاد از قلم افتاده رو بعنوان کامنت به این پست اضافه کنید.


دوستان عزیز دقت کنید که این مطالب عیناً ترجمه مقاله فوقالذکر هست و بنده هیچ دخل و تصرفی داخلش نداشتم. قطعاً دلایل بهتر و محکمتری برای عشقورزیدن به PHP وجود داره که از شما تقاضا دارم با مشارکت هم و بدون بحث و جدل و کمک به افزودن قابلیتهای مختلف بصورت پست به این تاپیک، اون رو بعنوان یک منبع محکم برای دفاع از PHP دربرابر سایر ابزارها تبدیل کنیم. شخصاً از مقایسه ابزارها بیزارم ولی این روزها متأسفانه هجوم زیادی برعلیه PHP داره توی جوامع مجازی صورت میگیره که بنظرم وقتشه یه جواب قاطع یه جایی به این قبیل افراد داده بشه و چه جایی بهتر از اینجا که خود کاربران میان دلایلشون رو اعلام میکنن. پستهایی که واقعاً مناسب تشخیص داده بشه، بعنوان دلایل بعدی به پست اصلی (بعد از ویرایش ساختار نگارشی درصورت لزوم) اضافه خواهد شد. البته برای حفظ حق تألیف مقاله اصلی، عنوان پست همون «15 دلیل که من عاشق PHP هستم» باقی خواهند ماند.

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 6:43

سلام دوستان

من یک treemenu تو سایتم ایجاد کردم , تو نحوه پیمایش از فرزند به والد موندم چیکار کنم . میشه راهنمایی بفرمائید ...

ساختار جدول به این شکله :
id
name
parentId

تشکر

تشکر شده توسط:

چرا از فرزند میخواین به والد برسین؟ توی TreeView که این مدلی نیست. شاید توی Breadcrumbs مدنظرتونه.

بله جناب مهندس منظورم همون Breadcrumbs بود نمیدونم چرا گفتم TreeView , اما حل شد تشکر

تشکر شده توسط:

لطفاً راه حل رو هم به اشتراک بگذارین درصورت امکان. ممکنه مشکل برخی دیگه از دوستان هم باشه و بتونید بهشون کمک کنید.

تشکر شده توسط:


    function Lists($parent = 0)
   {
       coect();
       $result = select("select * from category where ParentId_Fk = " . $parent);
       discoect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['Id']);
           $i++;
       }
       retu $children;
   }

/************************************************/

function menu($array = null) 
   {
       if (count($array))
       {
           foreach ($array as $item)
           {
               echo $item['name'] . ' / ';
               if (count($item['children'])) {
                   menu($item['children']);
               }
               echo '<br />';
           }
       }
   }


menu(Lists());

از کد بالا برای پیمایش به صورت TreeView استفاده کردم که اگه تو تگ های ul و li ازش استفاده کنین می توانید یک منوی آبشاری رو داشته باشین

برای پیمایش به صورت Breadcrumbs هم کافیه تابع List رو به این صورت بنویسید :

    function Lists($parent)
    {
       coect();
       $result = select("select * from category where Id = " . $parent);
       discoect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['ParentId_Fk']);
           $i++;
       }
       retu $children;
   }

makeMenu(Lists('شماره آیدی فرزند باید وارد شود'));

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 6:43

سلام
فرض کنید یک جدول داریم که چهار ستون نام ,ساعت ورود و ساعت خروج و تاریخ می باشد
وبرای هر نفر در هر ماه 30الی150بار اطلاعات ثبت کرده ایم
حال من می خواهم
بصورت یک سطر نمایش بدهم
بصورت ذیل
نام تاریخ1 ساعت ورود وساعت خروج تاریخ 2 ساعت وردو ساعت خروج همینطورتاتاریخ30ام را بیاورد نمایش بدهد

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 0:08

چند وقت قبل مقاله ای در اینجا با همین مضمون و معنا خوندم که دیدم انتشارش خالی از لطف نیست. این شد که تصمیم گرفتم اون رو ترجمه کنم و در اختیار کسانی بگذارم که مثل خودم عاشق PHP هستن:


من خجالت نمیکشم از اینکه بگم واقعاً عاشق PHP هستم. وقتی که اولینبار برنامهنویسی رو در سال 2003 شروع کردم، اول با JavaScript آشنا شدم. با وجود اینکه جاوا اسکریپت سرگرمکنندهتر و دارای زرقوبرق بیشتری بود، من به محض اینکه با PHP آشنا شدم، عاشقش شدم. یکی از چیزهایی که من رو بیشتر از همه جذب کرد، این بود که چطور PHP خطاها رو (مثل خطاهای گرامری) مدیریت میکنه. با این قابلیت، من میتونستم PHP رو بدون کمک هیچ کسی یاد بگیرم، تمام کاری که باید انجام میدادیم این بود که هر پیغام خطایی که رخ میده رو مدیریت و درک کنم.

بدور از مقایسه PHP با هر زبان برنامهنویسی دیگری که اون هم پارامترهای کیفی و طرفداران خاص خودش رو داره و محترمه، قصد من اینه که نشون بدم دلایلی که PHP رو یک انتخاب عالی برای اکثر افراد دنیا میکنه و اون رو به پرکاربردترین ابزار توسعه وب کرده چیه؟

مدت زیادی مردم از PHP متنفر بودن، خیلیها بخاطر همین موضوع استفاده و یادگیری اون رو بخاطر این موضوع متوقف کرده بودن. اما با مقایسه PHP از 1995 تا الان، به یک ایمان قوی رسیدم که داره روزبروز عالیتر میشه و رشد میکنه. استفاده از اون امروزه مشابه ده سال قبل هست و فقط کمک میکنه که بیشتر رشد کنه. نگاهی به PHP7 امروزه بندازین.

مقایسه PHP با سایر زبانها، و حرفهای زیادی که درباره امنیت پایینش میزنن، بنظر من حتی ارزش جوابدادن رو هم نداره - تمام زبانهای دیگه هم از مشکلات مشابه رنج میبرن.

مثل هر زبان برنامهنویسی دیگه، PHP یک جعبهابزاره. قدرت و ضعف اون بستگی به کاربران (برنامهنویسان) اون داره.

برای اینکه بحث رو کوتاهکنیم، من دلایل خودم رو که توی وب باعث شدن من عاشق PHP بشم و فکر میکنم افراد دیگه هم با من موافق هستن، اینجا میارم:

  1. ساده برای یادگیری
    شروع به کار با PHP خیلی ساده و راحته. با قابلیت انواع پویای متغیر، یه کاربر جدید هیچ زجری نمیکشه. میتونید بهراحتی تگهای PHP رو با HTML و CSS و JavaScript ترکیب کنید تا یه چیزی داشته باشین که کار میکنه و این وقتی شما دارین یه چیز جدید یاد میگیرین، خیلی اهمیت داره. درکنار اون، نصب و تنظیمکردنش هم خیلی راحته، چه توی ویندوز و چه توی لینوکس. میتونید Apache و mod_php رو روی یه سرور Linux بندازین و در عرض چند دقیقه اجراش کنید، یا بهراحتی WAMP یا XAMPP رو توی ویندوز نصب کنید و شروع به کار کنید.
  2. خیلی انعطافپذیره
    شما میتونید بهراحتی PHP رو توی هر برنامهای استفاده کنید. برای مثال Wamp و EasyPHP و PHP Desktop و...
  3. بهخوبی مقیاسپذیری داره
    نیاز به درنظر گرفتن چیزهای زیادی ندارین. PHP با قابلیتهای توکار بسیار زیادی برای حل مشکلات مختلف مثل فایلها، دیتابیس، تصاویر، صوت و... عرضه میشه که به شما کمک میکنه تقریباً پروژههایی با هر اندازه رو بسازین. حتی توی قابلیتهایی که به سادگی بقیه زبانها نمیشه کارها رو انجام داد، باز هم همیشه یه راهی برای انجامش وجود داره.
  4. راههای با کیفیت عالی و متعدد برای مسائل مختلف در وب
    PHP مشکلات بسیار زیادی رو در وب حل میکنه و این چیزیه که باعث میشه باور کنم توی اکثر وبسایتها و وبسرورها مورد قبول واقع شده.
  5. تعداد زیاد فریمورکها
    از میکروفریمورکها گرفته تا فریمورکهای کامل، میتونید همهجور فریمورک برای انتخابکردن ببینید. این موضوع به کوچککردن مسائل و توسعه سریعتر پروژه کمک خیلی زیادی میکنه.
  6. محیطهای توسعه (IDE) عالی
    خوب این یکی دیگه از چیزهای رؤیایی توی دنیای PHP هست. میتونید از IDEهایی نظیر PhpStorm و SublimeText و NetBeans و ZendStudio و Notepad++ و... استفاده کنید.
  7. بدون کامپایل
    زمان انتظار صفر برای دیدن نتایج. PHP تفسیر میشه. بنابراین زمان رو برای کامپایل و اشکالزدایی قبل از اجرا تلف نمیکنید.
  8. زبان شناختهشده
    افراد بسیار زیادی وجود دارن که میتونید استخدام کنید. وقتی دنبال توسعهدهنده PHP هستین، مشکلی وجود نداره. تعداد بسیار زیادی از مردم وجود دارن که از بین اونها یکنفر رو انتخاب کنید.
  9. میلیونها شغل
    همهجور شغل برای کار در زمینه PHPوجود داره. از برنامههای ساده بگیرین تا فریمورکها و...
  10. جامعه کاربری عالی
    بدون شک PHP جامعه کاربری بسیار عظیمی داره. مهم نیست مشکل شما چیه چون همیشه یکی یه جایی هست که قبلاً اون رو تجربه کرده باشه یا بخواد به شما توی پیداکردن راهحل کمک کنه.
  11. پشتیبانی داخلی از دیتابیس
    PHP بطور داخلی از اغلب پایگاههای داده مثل MySQL و SQLite و Oracle و... پشتیبانی میکنه. معنای این حرف اینه که شروع به کار با دیتابیسها برای شما حتی اگه یه تازهکار باشین، راحته. واقعاً نیاز به نصب هیچ درایور اضافهای ندارین. حتی با کمک PhpMyAdmin میتونید با دیتابیس ازطریق یه رابط گرافیکی ارتباط برقرار کنید.
  12. پشتیبانی از برنامهنویسی رویهگرا، تابعگرا و شئگرا
    برترین روشهای برنامهنویسی پشتیبانی میشه.
  13. زبان قدیمی - از 1995
    سن یک عامل مهمه. PHP به بلوغ رسیده و خیلی بالغه. در طول زمان مشکلات زیادی رو دیده و پشتیبانی کرده و جامعه کاربری اون هم رشد کرده.
  14. هاست ارزان
    از اونجا که PHP مدت زیادی وجود داشته و بهخوبی توی ویندوز و لینوکس کار میکنه، روی وبسرورهای زیادی نصب شده. میتونید بهراحتی یه هاستینگ که PHP رو از قبل نصب کرده پیدا کنید.
  15. به افراد کمک میکنه قبضهاشون رو پرداخت کنن!
    شاید خندهدار بنظر برسه ولی افراد بیشماری وجود دارن در دنیا که زندگیشون رو با PHP میگذرونن. درنهایت، این موضوع چیز بدی نیست.

پاورقی:
به احتمال زیاد دلایل بیشتری برای عاشق PHP بودن یا دوستداشتنش وجود داره. و بعنوان یه توسعهدهنده نیاز به ایجاد تنوع و تغییر در خودمون برای بروز موندن توی بازار کار هستیم. بخاطر همین خیلی عالیه که یه نگاهی به سایر زبانهای برنامهنویسی مثل Go و Python و Perl و Ruby و C و C++ و... بندازین تا دستور زبانهای متفاوت رو یاد بگیریم و یه راه متفاوت برای استدلال داشته باشیم.

هر قابلیت دیگری در PHP که بنظرتون میاد از قلم افتاده رو بعنوان کامنت به این پست اضافه کنید.


دوستان عزیز دقت کنید که این مطالب عیناً ترجمه مقاله فوقالذکر هست و بنده هیچ دخل و تصرفی داخلش نداشتم. قطعاً دلایل بهتر و محکمتری برای عشقورزیدن به PHP وجود داره که از شما تقاضا دارم با مشارکت هم و بدون بحث و جدل و کمک به افزودن قابلیتهای مختلف بصورت پست به این تاپیک، اون رو بعنوان یک منبع محکم برای دفاع از PHP دربرابر سایر ابزارها تبدیل کنیم. شخصاً از مقایسه ابزارها بیزارم ولی این روزها متأسفانه هجوم زیادی برعلیه PHP داره توی جوامع مجازی صورت میگیره که بنظرم وقتشه یه جواب قاطع یه جایی به این قبیل افراد داده بشه و چه جایی بهتر از اینجا که خود کاربران میان دلایلشون رو اعلام میکنن. پستهایی که واقعاً مناسب تشخیص داده بشه، بعنوان دلایل بعدی به پست اصلی (بعد از ویرایش ساختار نگارشی درصورت لزوم) اضافه خواهد شد. البته برای حفظ حق تألیف مقاله اصلی، عنوان پست همون «15 دلیل که من عاشق PHP هستم» باقی خواهند ماند.

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 0:08

سلام دوستان

من یک treemenu تو سایتم ایجاد کردم , تو نحوه پیمایش از فرزند به والد موندم چیکار کنم . میشه راهنمایی بفرمائید ...

ساختار جدول به این شکله :
id
name
parentId

تشکر

تشکر شده توسط:

چرا از فرزند میخواین به والد برسین؟ توی TreeView که این مدلی نیست. شاید توی Breadcrumbs مدنظرتونه.

بله جناب مهندس منظورم همون Breadcrumbs بود نمیدونم چرا گفتم TreeView , اما حل شد تشکر

تشکر شده توسط:

لطفاً راه حل رو هم به اشتراک بگذارین درصورت امکان. ممکنه مشکل برخی دیگه از دوستان هم باشه و بتونید بهشون کمک کنید.

تشکر شده توسط:


    function Lists($parent = 0)
   {
       coect();
       $result = select("select * from category where ParentId_Fk = " . $parent);
       discoect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['Id']);
           $i++;
       }
       retu $children;
   }

/************************************************/

function menu($array = null) 
   {
       if (count($array))
       {
           foreach ($array as $item)
           {
               echo $item['name'] . ' / ';
               if (count($item['children'])) {
                   menu($item['children']);
               }
               echo '<br />';
           }
       }
   }


menu(Lists());

از کد بالا برای پیمایش به صورت TreeView استفاده کردم که اگه تو تگ های ul و li ازش استفاده کنین می توانید یک منوی آبشاری رو داشته باشین

برای پیمایش به صورت Breadcrumbs هم کافیه تابع List رو به این صورت بنویسید :

    function Lists($parent)
    {
       coect();
       $result = select("select * from category where Id = " . $parent);
       discoect();

       $i = 0;
       $children = array();
       while($row = mysql_fetch_assoc($result)) 
       {
           $children[$i] = array();
           $children[$i]['id'] = $row['Id'];
           $children[$i]['name'] = $row['Name'];
           $children[$i]['children'] = Lists($row['ParentId_Fk']);
           $i++;
       }
       retu $children;
   }

makeMenu(Lists('شماره آیدی فرزند باید وارد شود'));

تشکر شده توسط:

برچسب: نویسنده: خنجی تاريخ: شنبه 22 اسفند 1394 ساعت: 0:08

دوستان کسی با ifont کار کرده ؟
نمیدونم از کجا دانلود کنم

تشکر شده توسط:

چی هست اصلاً ؟ من سرچ کردم یه اپ اندروید آورد!

تشکر شده توسط:

- - , .

برچسب: نویسنده: خنجی تاريخ: چهارشنبه 19 اسفند 1394 ساعت: 18:11

[عکس: seo_improve.jpg]

سئو (SEO)، بهینه سازی سایت برای موتورهای جستجو تبدیل به یک ابزار بازاریابی شدهاست و برای آنکه وبسایت شما عملکرد مناسبی داشته باشد ضروری است. اگر شما درباره ایجاد و نگهداری سئو برای وبسایت تان تجربهای ندارید یا تجربه شما کم است مواردی هستند که شما میتوانید انجام دهید تا به بهتر شدن عملکرد وبسایت شما کمک کنند.

ابزار گوگل وب مستر

شما ممکن است درباره گوگل آنالیز بدانید یا از آن برای پیگیری همه بازدیدکنندگانتان استفاده کرده باشد. اما اگر شما هنوز ابزار گوگل وب مستر را ست نکرده باشید باید این کار را انجام دهید. گوگل وب مستر به شما اجازه میدهد که پرسوجوی (query) خاصی را جستجو کنید و ببینید که کاربران چه کلماتی را برای جستجوی سایت شما به کار بردهاند. بهتر از آن شما میتوانیداز آن کلمات در مطالب جدیدتان استفاده کنید تا در مورد آن بیشتر جستجو شوید. مطلب مهم دیگر آن است که گوگل وب مستر به شما اجازه میدهد تا نقشه سایت خود را به گوگل ارائه دهید برای آنکه موتور جستجوی آن بهتر به سایت شما هدایت شود.

استفاده از عنوان و زیر عنوان

وقتی که شما میخواهید مطلب جدیدی در بلاگ یا سایتتان ایجاد کنید باید از عنوانها و زیرعنوانهای ویرایشگرتان در داخل متن استفاده کنید که معمولا با H1،H2،H3 و ... شناخته میشوند. با برچسب زدن عنوان با H1/H2/H3، موتورهای جستجو بهتر خواهند توانست که سایت یا بلاگ شما را جستجو کنند و کلمات کلیدی را از متن آنها بردارند.

یک توضیحات متای خوب

توضیحات متا شامل ۱۵۶ کاراکتر است که برای دادن یک سئوی خوب به صفحه استفاده میشود. داشتن یک توضیحات متای قوی، که شامل کلمات کلیدی باشد که در متن استفاده شده است باعث میشود که موتورهای جستجو بتوانند شما را پیدا کنند. توضیحات متای شما همچنین مختصری از متن را میدهد که قرار است بخوانند. شما باید با این هدف بنویسید که باعث شود کاربران روی صفحه کلیک کنند و مطلب شما را ببینند.

داشتن محتوای بکر

گفته میشد وقتی شما یک وبسایت دارید محتوا پادشاه است، این اصل هنوز موجود است... اگر ۱۰۰٪ بکر بوده و توسط شما ایجاد شده باشد. در اواخر دسامبر ۲۰۱۴ تعداد وبسایتهای فعال ۹۱۵،۷۸۰،۲۶۲ تخمین زده شد. داشتن یک متن قابل اعتماد و بکر نه تنها وبسایت شما را جذابتر میکند بلکه به موتورهای جستجو نشان میدهد که مطالب سایت شما یکتا و بکر است. اگر شما در وبسایتتان مطالب کپی داشته باشید، شما توسط موتورهای جستجو پنالتی خواهید شد و د ر ردهبندی موتورهای جستجو سقوط خواهید کرد.

اجتماعی باشید نه بی دست وپا

ما در یک دنیای اجتماعی زندگی میکنیم وقتی که آنلاین باشیم... فیسبوک، توئیتر و گوگل پلاس راه برقراری ارتباط و اشتراک گذاری در وب را دگرگون ساختند. وقتی که کاربران به وبسایت شما میآیند باید راه به اشتراک گذاشتن مطالبتان را برای دیگرانی که میخواهند آنها را به اشتراک بگذارند، آسان کنید. شاید به نظر ساده لوحانه به نظر بیاید اما وقتی وبسایت شما مجهز به ابزاری باشد که مقالات، پستهای بلاگ و صفحه های شما به راحتی به اشتراک گذاشته شوند، به دیگران کمک میکند که مطالب شما را در وب منتشر کنند.

طراحی وب سایت ستروکیت

- - , .

برچسب: نویسنده: خنجی تاريخ: سه شنبه 18 اسفند 1394 ساعت: 13:12

سلام دوستان
خسته نباشید
فرض کنید یه جدول داریم مثل عکسی که گذاشتم
توی ستون similar یه سری شروط هست، می خوام از این شرط ها برای یه جدول دیگه استفاده کنم:
select * from tableA where (select similar from tableB where id=3)

یه دستور مثل بالا می خوام ولی کار نمی کنه و هیچ جوابی رو برنمیگردونه
ممنون می شم راهنمایی کنید.

فایلهای پیوست تصاویر بندانگشتی

no pain, no gain

تشکر شده توسط:

ممنون
چطوری می تونم چک کنم اگر where@ خالی نبود ادامه اون دستورات اجرا بشن؟

no pain, no gain

تشکر شده توسط:

- - , .

برچسب: نویسنده: خنجی تاريخ: دوشنبه 17 اسفند 1394 ساعت: 14:20

با سلام خدمت همه دوستان و علاقه مندان به برنامه نویسی php
پکیج آموزش MVC به زبان PHP

از طریق این از طریق این تالار خدمت علاقه مندان ارائه میدم

[عکس: 4c0466a78b4d1807fd4b6d085435b2c1973a35d2...91633d.jpg]
مباحث و سر فصل های MVC:

آشنایی با ساختار MVC
معرفی Controller
معرفی Model
معرفی View
ایجاد یک فریمورک جدید با ساختار MVC
قانون مسیردهی URL در پروژه های MVC
ساخت htaccess. مناسب برای ارجاع درخواستها به یک صفحه مشترک
ایجاد پوشه های لازم برای پیاده سازی ساختار MVC در پروژه
ایجاد فایل Bootstrap
ایجاد کلاس Controller اصلی
ایجاد پوشه های داخلی Viewها
مدیریت خطاهای مربوط به فراخوانی Controllerها و Methodها در MVC
ایجاد کلاس View اصلی و افزودن قابلیت Render
ایجاد پوشه فایلهای عمومی (public) مثل css و js و image و...
مدیریت تنظیمات سایت
تنظیمات مسیرهای سایت
ایجاد کلاس Model اصلی
ایجاد صفحه Login
ایجاد دیتابیس و جدول کاربران
ایجاد کلاس پایه کار با دیتابیس با کمک PDO
تنظیمات دیتابیس سایت
مدیریت ورود و خروج کاربران
افزودن اسکریپتهای اختصاصی به Viewها (JS و...)
استفاده از AJAX در MVC
تعیین و اعمال سطوح دسترسی در پروژه
اضافه کردن کلاس رمزنگاری (Hash) به پروژه
معرفی نرم افزار DbSchema برای مدیریت دیتابیس
تولید اعتبارسنج یا Validator برای فرمها
افزونه سیستم ارسال یادداشت به مدیر
تولید سیستم CRUD برای سیستم یادداشت
بهینه سازی و پویا کردن Bootstrap
افزودن قابلیت Customize به فریمورک
اضافه کردن Validator طراحی شده به فریمورک
جمع بندی و توصیه های نهایی
در این پکیج سعی شده در حین پیاده سازی فریم ورک MVC ارور های موجود از فیلم حذف نشه و ارور یابی و رفع ارور برای علاقه مندان نمایش داده بشه تا بتونن با روند رفع ارور این فریم ورک هم آشنا بشن

در این مجموعه آموزشی 14 ساعته، با زبان ساده و روان یک فریمورک از پایه با الگوی طراحی MVC ساخته میشود و شما بصورت عملی با ساختار درونی MVC و نحوه برنامه نویسی ماژولار آشنا خواهید شد.

لینک خرید پکیج MVC به زبان PHP

دموی پکیج در لینک بالا موجود هست میتونید مشاهده کنید .

پشتبانی این پکیج سوالات پیرامون مسائل مطرح شده در دروس و هم در همین تاپیک امکان انجام میشه .
از حمایت دوست خوبم آقای مهندس شهرکی کمال تشکر را دارم .

قیمت این پکیج 49000 هزار تومن برا علاقه مندان درنظر گرفته شده .

- - , .

برچسب: نویسنده: خنجی تاريخ: دوشنبه 17 اسفند 1394 ساعت: 14:20

صفحه بندی